Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
Не вказано
Кафедра:
Програмного забезпечення (ПЗ)

Інформація про роботу

Рік:
2007
Тип роботи:
Лабораторна робота
Предмет:
Алгоритми і структури даних
Група:
ПІ

Частина тексту файла

Міністерство науки і освіти України. Національний університет “Львівська політехніка” Інститут комп’ютерних наук та інформаційних технологій. Кафедра ПЗ Звіт До лабораторної роботи №3 За курсом «Алгоритми і структури даних». Виконав студент групи ПІ 1 Львів 2007 Тема роботи: Ознайомлення із методами сортування. Алгоритм злиття. Мета роботи: Вивчити та дослідити методи сортування, як один із методів обробки даних. Ознайомитись із методом сортування злиття. Виконати лабораторну роботу використавши здобуті знання по методам сортування, зокрема по методу злиття. 1. ТЕОРЕТИЧНІ ВІДОМОСТІ Сортування злиттям — алгоритм сортування, в основі якого лежить принцип Розділяй та владарюй. В основі цього способу сортування лежить злиття двох упорядкованих ділянок масиву в одну впорядковану ділянку іншого масиву. Злиття двох упорядкованих послідовностей можна порівняти з перебудовою двох колон солдатів, вишикуваних за зростом, в одну, де вони також розташовуються за зростом. Якщо цим процесом керує офіцер, то він порівнює зріст солдатів, перших у своїх колонах і вказує, якому з них треба ставати останнім у нову колону, а кому залишатися першим у своїй. Так він вчиняє, поки одна з колон не вичерпається — тоді решта іншої колони додається до нової. Підчас сортування в дві допоміжні черги з основної поміщаються перші дві відсортовані підпослідовності, які потім зливаються в одну і результат записується в тимчасову чергу. Потім з основної черги беруться наступні дві відсортовані підпослідовності і так до тих пір доки основна черга не стане порожньою. Після цього послідовність з тимчасової черги переміщається в основну чергу. І знову продовжується сортування злиттям двох відсортованих підпослідовностей. Сортування триватиме до тих пір поки довжина відсортованої підпослідовності не стане рівною довжині самої послідовності. Завдання: Впорядкувати одновимірний масив методом злиття. Повторити декілька раз з різною кількістю елементів та порівняти час виконання. Код програми #include<stdio.h> #include<stdlib.h> #include<time.h> #include<conio.h> void zluttja (int N[], int mas2[],int n) { int d,j,a1,a2,a3,f; for ( d=1;d<n;d*=2) { for( j=0;j<n;j+=d*2) { a1=j; a2=j+d; a3=j; while((a1-j<d&&a1<n)|| (a2-j-d<d&&a2<n)) if(a1-j>=d||a1>=n) mas2[a3++]=N[a2++]; else if(a2-j-d>=d||a2>=n) mas2[a3++]=N[a1++]; else mas2[a3++]=(N[a1]<=N[a2])?N[a1++]:N[a2++]; } for( f=0;f<n;f++) N[f]=mas2[f]; } } int verify(int N[], int d) { int k; for (k=0;k<d-1;k++) if (N[k]>N[k+1]) return 0; return 1; } void main(void) { int N[100000],M[100000]; int i,j,m; int C[5]={10000,20000,50000,80000,100000}; clock_t start, end; clrscr(); for (i=0;i<5;i++) { for (j=0;j<C[i];j++) N[j]=rand(); start=clock(); zluttja(N, C[i]); end=clock(); break; printf ("%d - %.3f - %s\n", C[i], (end-start)/CLK_TCK, verify(N, C[i]) ? "OK" : "Error"); } getch(); } Протокол роботи програми:  Висновок: Час роботи алгоритму  INCLUDEPICTURE "mhtml:file://C:\\Documents%20and%20Settings\\Макс\\Рабочий%20стол\\Методи%20сортування\\Сортування%20злиттям%20—%20Вікіпедія.mht!http://upload.wikimedia.org/math/d/a/d/dad48276cfe3cc67c4e5319738af3305.png" \* MERGEFORMATINET по впорядкуванню  INCLUDEPICTURE "mhtml:file://C:\\Documents%20and%20Settings\\Макс\\Рабочий%20стол\\Методи%20сортування\\Сортування%20злиттям%20—%20Вікіпедія.mht!http://upload.wikimedia.org/math/8/2/4/8241a5c9818b1bc3e74adf3886534f3d.png" \* MERGEFORMATINET елементів задовільняє рекурентному співвідношенню:  INCLUDEPICTURE "mhtml:file://C:\\Documents%20and%20Settings\\Макс\\Рабочий%20стол\\Методи%20сортування\\Сортування%20злиттям%20—%20Вікіпедія.mht!http://upload.wikimedia.org/math/b/e/c/becea1344176d5df91b7ee86c4d99506.png" \* MERGEFORMATINET , де  INCLUDEPICTURE "mhtml:file://C:\\Documents%20and%20Settings\\Макс\\Рабочий%20стол...
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини